home *** CD-ROM | disk | FTP | other *** search
- #ifndef plugin_httpH
- #define plugin_httpH
- /**
- * Umozliwia wyslanie zapytania http do serwera.
- */
- #define TLEN_HTTP_CALLFUNCTION "Tlen/HTTP/CallFunction"
-
- /// Wyslanie zapytania
- #define TLEN_HTTP_MAKEREQUEST 1
- /// Anulowanie zapytania
- #define TLEN_HTTP_CANCELREQUEST 2
-
- typedef struct {
-
- int structSize; //wielko£µ struktury w bajtach
-
- HANDLE QueryHandle;
-
- char *QueryID; //Unikalny ID, kt≤ry przypisujemy zapytaniu, ┐eby je rozpoznaµ p≤ƒniej │atwo
-
- char *URL;
- char *Reference;
- char *Cookie;
- char *Accept;
- char *Agent;
- char *ContentTypePost;
- char *PostData;
- int PostDataLength;
-
- int Flags;
- int Retries;
- int Timeout;
-
- char *HttpClientID; //je£li chcemy aby dane requesty by│y po kolei, to u┐ywamy tego samego ID dla nich
-
- TLENFUNCTION CallBackFunc;
- char *CallBackFuncName;
-
- void *OwnerData;
-
- //Do odpowiedzi
- int ErrorCode;
-
- unsigned char *Data;
- unsigned int DataLength;
-
- unsigned char *Header;
- unsigned int HeaderLength;
-
- } HttpQueryDef;
-
- typedef struct {
-
- int structSize; //wielko£µ struktury w bajtach
- HttpQueryDef *HttpQuery;
-
- unsigned char *DataChunk;
- unsigned int DataChunkLength;
-
- } HttpDataChunkDef;
-
- //LPARAM
-
- /// Rodzaj zapytania
- #define HTTP_QUERY_FLAG_GET 0x00000001
- /// Poni┐sze dwa typy przetwarzane sa tak samo
- #define HTTP_QUERY_FLAG_POST 0x00000002
- #define HTTP_QUERY_FLAG_HEAD 0x00000004
- #define HTTP_QUERY_FLAG_NOTIFYONDATACHUNKS 0x00000100
- #define HTTP_QUERY_FLAG_ONLYDATACHUNKS 0x00000200
- /// Informacja o tym ze przetwarzanie zapytania zostalo przerwane
- #define HTTP_QUERY_FLAG_ABORTED 0x10000000
-
-
- //QueryID
-
- /// Pobiera informacje o konfiguracji tlenu
- #define HTTP_QUERY_ID_TLENCONFIG "Config"
- /// Pobiera informacje o konfiguracji reklam
- #define HTTP_QUERY_ID_ADINFO "AdInfo"
- /// Pobiera informacje juz o konkretnych reklamach dla poszczegolnych okien
- #define HTTP_QUERY_ID_MAINADINFO "MainAdInfo"
- /// Pobranie informacji na temat reklamy dla okna rozmowy
- #define HTTP_QUERY_ID_CHATADINFO "ChatAdInfo"
- /// Sprawdza czy zostala wypelniona ankieta na temat rozmow komorkowych
- #define HTTP_QUERY_ID_SMSPOLL "SMSPoll"
- /// Wyslanie ankiety na temat telefonow komorkowych
- #define HTTP_QUERY_ID_SMSPOLLSEND "SMSPollSend"
- #define HTTP_QUERY_ID_APPMSG "AppMsg"
-
- //HttpClientID
-
- /// Identyfikator typu klienta
- #define HTTP_CLIENT_ID_TLEN "HttpClient/Tlen"
- #define HTTP_CLIENT_ID_GG "HttpClient/GG"
-
-
- //WPARAM
-
- /// Wyslano zapytanie
- #define HTTP_EVENT_REQUESTDONE 1
- /// Obecnie niewykorzystywane
- #define HTTP_EVENT_HEADRECV 2
- #define HTTP_EVENT_DATARECV 3
- #define HTTP_EVENT_DATASENT 4
-
- /******************************************************************************/
- /**** Zapytanie do serwera ****/
- /******************************************************************************/
- /*
-
- HttpQueryDef def;
- InitializeStruct(def);
- def.Flags = HTTP_QUERY_FLAG_GET;
- def.URL = adres serwera;
- def.HttpClientID = identyfikator klienta;
- def.QueryID = identyfikator zapytania;
- def.CallBackFunc = callback;
- def.Agent = "Mozilla/4.7 [en] (Win98; I)";
- def.Accept = "";
- tlen_functions->CallTlenFunction(hInst, TLEN_HTTP_CALLFUNCTION, (WPARAM) TLEN_HTTP_MAKEREQUEST, (LPARAM) &def);
-
- */
-
- /******************************************************************************/
- /**** Odpowiedz serwera do serwera ****/
- /******************************************************************************/
- /* Odpowiedz od serwera otrzymujemy do funkcji podanej w calbacku */
- /* gdzie WPARAM jest HTTP_EVENT_REQUESTDONE w przypadku poprawnej odpowiedzi */
- /*
- int callback (WPARAM wParam, LPARAM lParam)
- {
- HttpQueryDef *def = (HttpQueryDef *) lParam;
- ...
- }
-
- */
- #endif
-